package com.br.negocio.vo;

/**
 * 2011 - Handler Tecnologia para Informacao. 
 * Todos os direitos reservados.
 * 
 * Objeto acompanhante, simples bean
 * 
 * @author Ricardo Passinho F. Santos
 * @since 13/01/11
 * @version 1.0
 * @category Object-Bean
 */

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

@Entity
@Table(name = "acompanhante")
@SequenceGenerator(name = "acompanhante_seq", sequenceName = "acompanhante_cod_acompanhante_seq", allocationSize = 1)
@NamedQueries ({
	@NamedQuery(name = "loadAllAcompanhante", query = "from AcompanhanteVO as f order by f.codigo"),
	@NamedQuery(name = "findAcompanhante", query = "from AcompanhanteVO as f where f.codigo = :codigo"),
	@NamedQuery(name = "findDuplicatedAcompanhante", query = "from AcompanhanteVO as f where  f.rg != :rg and f.nome = :nome")
})
public class AcompanhanteVO implements Serializable {

	private static final long serialVersionUID = 1L;

	@Id
	@Column(name = "cod_acompanhante")
	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "acompanhante_seq")
	private int codigo;
	
	//Nome
	@Column(name = "nome", nullable = false, length = 50)
	private String nome;
	
	//numero do RG 
	@Column(name = "rg", length = 20)
	private String rg;
	
	private String ddd;
	
	private String observacao;

	//telefone celular 
	@Column(name = "telefone_celular", length = 8)
	private String telefoneCelular;
	
	//tipo de sexo 
	@Column(name = "cod_sexo")
	private int sexo;
	
	//Data Nascimento 
	@Temporal(TemporalType.DATE)
	@Column(name = "data_nascimento")
	private Date data;
	
	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "data_criacao")
	private Date dataCriacao;

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "data_alteracao")
	private Date DataAlteracao;

	public AcompanhanteVO() {
	}

	public int getCodigo() {
		return this.codigo;
	}

	public void setCodigo(int codigo) {
		this.codigo = codigo;
	}

	public String getNome() {
		return this.nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}
	
	public String getTelefoneCelular() {
		return this.telefoneCelular;
	}

	public void setTelefoneCelular(String telefoneCelular) {
		this.telefoneCelular = telefoneCelular;
	}

	public Date getData() {
		return this.data;
	}

	public void setData(Date data) {
		this.data = data;
	}

	public int getSexo() {
		return sexo;
	}

	public void setSexo(int sexo) {
		this.sexo = sexo;
	}

	public String getRg() {
		return rg;
	}

	public void setRg(String rg) {
		this.rg = rg;
	}

	public String getDdd() {
		return ddd;
	}

	public void setDdd(String ddd) {
		this.ddd = ddd;
	}

	public String getObservacao() {
		return observacao;
	}

	public void setObservacao(String observacao) {
		this.observacao = observacao;
	}

	public Date getDataAlteracao() {
		return DataAlteracao;
	}

	public void setDataAlteracao(Date dataAlteracao) {
		DataAlteracao = dataAlteracao;
	}

	public Date getDataCriacao() {
		return dataCriacao;
	}

	public void setDataCriacao(Date dataCriacao) {
		this.dataCriacao = dataCriacao;
	}

}